import 'package:get/get.dart';

abstract class BaseBinding extends Bindings {
  @override
  void dependencies();
  
  /// 注册实例 - 全局单例
  void registerSingleton<S>(S dependency);
  
  /// 注册懒加载实例 - 全局单例，第一次使用时才初始化
  void registerLazySingleton<S>(InstanceBuilderCallback<S> dependency);
  
  /// 注册工厂实例 - 每次Get.find都会创建新的实例
  void registerFactory<S>(InstanceBuilderCallback<S> dependency);
  
  /// 注册临时实例 - 使用后即删除
  void registerTransient<S>(InstanceBuilderCallback<S> dependency);
} 